<!DOCTYPE html>
<html lang="zh-cn">
<head>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  <title>归档 - whowin - 发表我个人原创作品的技术博客</title>
  <meta name="renderer" content="webkit" />
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"/>

<meta http-equiv="Cache-Control" content="no-transform" />
<meta http-equiv="Cache-Control" content="no-siteapp" />

<meta name="theme-color" content="#f8f5ec" />
<meta name="msapplication-navbutton-color" content="#f8f5ec">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="#f8f5ec">


<meta name="author" content="whowin" /><meta name="description" content="———开源和分享是技术发展的源泉和动力；本博客所有文章均为原创" /><meta name="keywords" content="linux, socket, hugo, dos" />






<meta name="generator" content="Hugo 0.97.3 with theme even" />


<link rel="canonical" href="https://whowin.gitee.io/post/" />
  <link href="https://whowin.gitee.io/post/index.xml" rel="alternate" type="application/rss+xml" title="whowin - 发表我个人原创作品的技术博客" />
  <link href="https://whowin.gitee.io/post/index.xml" rel="feed" type="application/rss+xml" title="whowin - 发表我个人原创作品的技术博客" />
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
<link rel="manifest" href="/manifest.json">
<link rel="mask-icon" href="/safari-pinned-tab.svg" color="#5bbad5">



<link href="/sass/main.min.e3fea119b1980e848b03dffbeddb11dd0fba483eed0e5f11870fb8e31f145bbd.css" rel="stylesheet">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fancyapps/fancybox@3.1.20/dist/jquery.fancybox.min.css" integrity="sha256-7TyXnr2YU040zfSP+rEcz29ggW4j56/ujTPwjMzyqFY=" crossorigin="anonymous">


<meta property="og:title" content="Posts" />
<meta property="og:description" content="———开源和分享是技术发展的源泉和动力；本博客所有文章均为原创" />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://whowin.gitee.io/post/" />

<meta itemprop="name" content="Posts">
<meta itemprop="description" content="———开源和分享是技术发展的源泉和动力；本博客所有文章均为原创"><meta name="twitter:card" content="summary"/>
<meta name="twitter:title" content="Posts"/>
<meta name="twitter:description" content="———开源和分享是技术发展的源泉和动力；本博客所有文章均为原创"/>

<!--[if lte IE 9]>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/classlist/1.1.20170427/classList.min.js"></script>
<![endif]-->

<!--[if lt IE 9]>
  <script src="https://cdn.jsdelivr.net/npm/html5shiv@3.7.3/dist/html5shiv.min.js"></script>
  <script src="https://cdn.jsdelivr.net/npm/respond.js@1.4.2/dest/respond.min.js"></script>
<![endif]-->

  <script async src="/js/busuanzi.pure.mini.js"></script><script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-9724909319263152"
     crossorigin="anonymous"></script>


</head>
<body>
  <div id="mobile-navbar" class="mobile-navbar">
  <div class="mobile-header-logo">
    <a href="/" class="logo">WhoWin</a>
  </div>
  <div class="mobile-navbar-icon">
    <span></span>
    <span></span>
    <span></span>
  </div>
</div>
<nav id="mobile-menu" class="mobile-menu slideout-menu">
  <ul class="mobile-menu-list">
    <a href="/">
        <li class="mobile-menu-item">首页</li>
      </a><a href="/post/">
        <li class="mobile-menu-item">文章归档</li>
      </a><a href="/article-categories/categories/">
        <li class="mobile-menu-item">文章分类</li>
      </a><a href="/tags/">
        <li class="mobile-menu-item">文章标签</li>
      </a><a href="/about/about/">
        <li class="mobile-menu-item">关于</li>
      </a>
  </ul>

  


</nav>

  <div class="container" id="mobile-panel">
    <header id="header" class="header">
        <div class="logo-wrapper">
  <a href="/" class="logo">WhoWin</a>
  
  <div style="position:absolute; left: 80px; top: 75px; color: crimson">
      ———开源和分享是技术发展的源泉和动力；本博客所有文章均为原创
  </div>
</div>





<nav class="site-navbar">
  <ul id="menu" class="menu">
    <li class="menu-item">
        <a class="menu-item-link" href="/">首页</a>
      </li><li class="menu-item">
        <a class="menu-item-link" href="/post/">文章归档</a>
      </li><li class="menu-item">
        <a class="menu-item-link" href="/article-categories/categories/">文章分类</a>
      </li><li class="menu-item">
        <a class="menu-item-link" href="/tags/">文章标签</a>
      </li><li class="menu-item">
        <a class="menu-item-link" href="/about/about/">关于</a>
      </li>
  </ul>
</nav>

    </header>

    <main id="main" class="main">
      <div class="content-wrapper">
        <div id="content" class="content">
          
<section id="archive" class="archive">
      <div class="collection-title">
        <h2 class="archive-year">2024</h2>
      </div>

    <div class="archive-post">
      <span class="archive-post-time">
        08-20
      </span>
      <span class="archive-post-title">
        <a href="/post/blog/c/0003-singly-linked-lists-in-glib/" class="archive-post-link">
          如何使用GLib的单向链表GSList
        </a>
      </span>
    </div>

    <div class="archive-post">
      <span class="archive-post-time">
        08-10
      </span>
      <span class="archive-post-title">
        <a href="/post/blog/c/0002-start-programming-with-glib/" class="archive-post-link">
          使用GLib进行C语言编程的实例
        </a>
      </span>
    </div>

    <div class="archive-post">
      <span class="archive-post-time">
        07-05
      </span>
      <span class="archive-post-title">
        <a href="/post/blog/network/0026-wifi-scanner-with-libiw/" class="archive-post-link">
          Linux下使用libiw进行无线信号扫描的实例
        </a>
      </span>
    </div>

    <div class="archive-post">
      <span class="archive-post-time">
        04-13
      </span>
      <span class="archive-post-title">
        <a href="/post/blog/network/0027-libiw-functions/" class="archive-post-link">
          libiw中的函数说明
        </a>
      </span>
    </div>

    <div class="archive-post">
      <span class="archive-post-time">
        04-11
      </span>
      <span class="archive-post-title">
        <a href="/post/blog/network/0025-another-wifi-scanner-example/" class="archive-post-link">
          使用ioctl扫描wifi信号获取信号属性的实例(二)
        </a>
      </span>
    </div>

    <div class="archive-post">
      <span class="archive-post-time">
        03-10
      </span>
      <span class="archive-post-title">
        <a href="/post/blog/network/0024-using-epoll-in-socket-programming/" class="archive-post-link">
          使用epoll()进行socket编程处理多客户连接的TCP服务器实例
        </a>
      </span>
    </div>

    <div class="archive-post">
      <span class="archive-post-time">
        02-27
      </span>
      <span class="archive-post-title">
        <a href="/post/blog/network/0021-using-poll-instead-of-select/" class="archive-post-link">
          使用poll()代替select()处理多客户连接的TCP服务器实例
        </a>
      </span>
    </div>

    <div class="archive-post">
      <span class="archive-post-time">
        01-25
      </span>
      <span class="archive-post-title">
        <a href="/post/blog/network/0023-using-signals-with-blocking-socket-apis/" class="archive-post-link">
          使用signal中止阻塞的socket函数的应用实例
        </a>
      </span>
    </div>

    <div class="archive-post">
      <span class="archive-post-time">
        01-11
      </span>
      <span class="archive-post-title">
        <a href="/post/blog/linux/0010-19-useful-tools-in-ubuntu/" class="archive-post-link">
          在ubuntu上的18个非常实用的命令行工具软件
        </a>
      </span>
    </div>

    <div class="archive-post">
      <span class="archive-post-time">
        01-09
      </span>
      <span class="archive-post-title">
        <a href="/post/blog/linux/0027-how-to-check-ram-usage-in-ubuntu/" class="archive-post-link">
          在ubuntu上检查内存使用情况的九种方法
        </a>
      </span>
    </div>

    <div class="archive-post">
      <span class="archive-post-time">
        01-08
      </span>
      <span class="archive-post-title">
        <a href="/post/blog/ipc/0026-standard-and-service-interfaces/" class="archive-post-link">
          D-Bus的标准接口、自省机制和服务接口的具体实现方法
        </a>
      </span>
    </div>
      <div class="collection-title">
        <h2 class="archive-year">2023</h2>
      </div>

    <div class="archive-post">
      <span class="archive-post-time">
        12-28
      </span>
      <span class="archive-post-title">
        <a href="/post/blog/ipc/0025-resolve-arbitrary-dns-record/" class="archive-post-link">
          IPC之十五：使用libdbus通过D-Bus请求系统调用实现任意DNS记录解析的实例
        </a>
      </span>
    </div>

    <div class="archive-post">
      <span class="archive-post-time">
        12-25
      </span>
      <span class="archive-post-title">
        <a href="/post/blog/ipc/0024-select-recv-message/" class="archive-post-link">
          IPC之十四：使用libdbus通过select()接收D-Bus消息的实例
        </a>
      </span>
    </div>

    <div class="archive-post">
      <span class="archive-post-time">
        12-10
      </span>
      <span class="archive-post-title">
        <a href="/post/blog/ipc/0023-dbus-resolve-hostname/" class="archive-post-link">
          IPC之十三：使用libdbus通过D-Bus请求系统调用实现域名解析的实例
        </a>
      </span>
    </div>

    <div class="archive-post">
      <span class="archive-post-time">
        12-06
      </span>
      <span class="archive-post-title">
        <a href="/post/blog/ipc/0022-dbus-asyn-process-signal/" class="archive-post-link">
          IPC之十二：使用libdbus在D-Bus上异步发送/接收信号的实例
        </a>
      </span>
    </div>

    <div class="archive-post">
      <span class="archive-post-time">
        12-01
      </span>
      <span class="archive-post-title">
        <a href="/post/blog/ipc/0021-ipc-using-dbus/" class="archive-post-link">
          IPC之十一：使用D-Bus实现客户端向服务端请求服务的实例
        </a>
      </span>
    </div>

    <div class="archive-post">
      <span class="archive-post-time">
        11-06
      </span>
      <span class="archive-post-title">
        <a href="/post/blog/ipc/0020-ipc-using-files/" class="archive-post-link">
          IPC之十：使用共享文件进行进程间通信的实例
        </a>
      </span>
    </div>

    <div class="archive-post">
      <span class="archive-post-time">
        10-16
      </span>
      <span class="archive-post-title">
        <a href="/post/blog/ipc/0019-ipc-with-unix-domain-socket/" class="archive-post-link">
          IPC之九：使用UNIX Domain Socket进行进程间通信的实例
        </a>
      </span>
    </div>

    <div class="archive-post">
      <span class="archive-post-time">
        09-27
      </span>
      <span class="archive-post-title">
        <a href="/post/blog/ipc/0018-posix-shared-memory/" class="archive-post-link">
          IPC之八：使用 POSIX 共享内存进行进程间通信的实例
        </a>
      </span>
    </div>

    <div class="archive-post">
      <span class="archive-post-time">
        09-12
      </span>
      <span class="archive-post-title">
        <a href="/post/blog/ipc/0017-systemv-shared-memory/" class="archive-post-link">
          IPC之七：使用 System V 共享内存段进行进程间通信的实例
        </a>
      </span>
    </div>

    <div class="archive-post">
      <span class="archive-post-time">
        09-06
      </span>
      <span class="archive-post-title">
        <a href="/post/blog/ipc/0016-posix-semaphores/" class="archive-post-link">
          IPC之六：使用 POSIX 信号量解决经典的&#39;生产者-消费者问题&#39;
        </a>
      </span>
    </div>

    <div class="archive-post">
      <span class="archive-post-time">
        09-01
      </span>
      <span class="archive-post-title">
        <a href="/post/blog/ipc/0015-systemv-semaphore-sets/" class="archive-post-link">
          IPC之五：使用 System V 信号量集解决经典的&#39;哲学家就餐问题&#39;
        </a>
      </span>
    </div>

    <div class="archive-post">
      <span class="archive-post-time">
        08-20
      </span>
      <span class="archive-post-title">
        <a href="/post/blog/ipc/0014-posix-message-queue/" class="archive-post-link">
          IPC之四：使用 POSIX 消息队列进行进程间通信的实例
        </a>
      </span>
    </div>

    <div class="archive-post">
      <span class="archive-post-time">
        08-05
      </span>
      <span class="archive-post-title">
        <a href="/post/blog/ipc/0013-systemv-message-queue/" class="archive-post-link">
          IPC之三：使用 System V 消息队列进行进程间通信的实例
        </a>
      </span>
    </div>

    <div class="archive-post">
      <span class="archive-post-time">
        08-02
      </span>
      <span class="archive-post-title">
        <a href="/post/blog/ipc/0011-ipc-examples-of-fifo/" class="archive-post-link">
          IPC之二：使用命名管道(FIFO)进行进程间通信的例子
        </a>
      </span>
    </div>

    <div class="archive-post">
      <span class="archive-post-time">
        07-28
      </span>
      <span class="archive-post-title">
        <a href="/post/blog/ipc/0010-ipc-example-of-anonymous-pipe/" class="archive-post-link">
          IPC之一：使用匿名管道进行父子进程间通信的例子
        </a>
      </span>
    </div>

    <div class="archive-post">
      <span class="archive-post-time">
        06-26
      </span>
      <span class="archive-post-title">
        <a href="/post/blog/network/0022-how-to-scan-wifi-signal/" class="archive-post-link">
          使用ioctl扫描wifi信号获取信号属性的实例(一)
        </a>
      </span>
    </div>

    <div class="archive-post">
      <span class="archive-post-time">
        03-28
      </span>
      <span class="archive-post-title">
        <a href="/post/blog/network/0019-dns-client-in-c/" class="archive-post-link">
          用C语言实现的一个DNS客户端
        </a>
      </span>
    </div>

    <div class="archive-post">
      <span class="archive-post-time">
        03-16
      </span>
      <span class="archive-post-title">
        <a href="/post/blog/network/0020-implement-ping-program-with-sock-dgram/" class="archive-post-link">
          使用SOCK_DGRAM类型的socket实现的ping程序
        </a>
      </span>
    </div>

    <div class="archive-post">
      <span class="archive-post-time">
        03-07
      </span>
      <span class="archive-post-title">
        <a href="/post/blog/network/0018-tun-example-for-setting-up-ip-tunnel/" class="archive-post-link">
          使用tun虚拟网络接口建立IP隧道的实例
        </a>
      </span>
    </div>

    <div class="archive-post">
      <span class="archive-post-time">
        02-13
      </span>
      <span class="archive-post-title">
        <a href="/post/blog/network/0017-sync-time-from-time-server-using-sntp/" class="archive-post-link">
          使用SNTP协议从时间服务器同步时间
        </a>
      </span>
    </div>

    <div class="archive-post">
      <span class="archive-post-time">
        02-10
      </span>
      <span class="archive-post-title">
        <a href="/post/blog/network/0016-longest-prefix-match/" class="archive-post-link">
          简单的路由表查找程序
        </a>
      </span>
    </div>

    <div class="archive-post">
      <span class="archive-post-time">
        02-09
      </span>
      <span class="archive-post-title">
        <a href="/post/blog/network/0015-send-magic-packet-via-raw-socket/" class="archive-post-link">
          使用raw socket发送magic packet
        </a>
      </span>
    </div>

    <div class="archive-post">
      <span class="archive-post-time">
        02-05
      </span>
      <span class="archive-post-title">
        <a href="/post/blog/network/0008-get-gateway-ip-from-proc-filesys/" class="archive-post-link">
          从proc文件系统中获取gateway的IP地址
        </a>
      </span>
    </div>

    <div class="archive-post">
      <span class="archive-post-time">
        02-04
      </span>
      <span class="archive-post-title">
        <a href="/post/blog/network/0009-get-gateway-ip-via-netlink/" class="archive-post-link">
          linux下使用netlink获取gateway的IP地址
        </a>
      </span>
    </div>

    <div class="archive-post">
      <span class="archive-post-time">
        01-12
      </span>
      <span class="archive-post-title">
        <a href="/post/blog/network/0014-handling-arp-cache/" class="archive-post-link">
          如何用C语言操作arp cache
        </a>
      </span>
    </div>

    <div class="archive-post">
      <span class="archive-post-time">
        01-12
      </span>
      <span class="archive-post-title">
        <a href="/post/blog/network/0007-recv-arp-request-and-reply/" class="archive-post-link">
          接收arp请求并发送回应的实例
        </a>
      </span>
    </div>

    <div class="archive-post">
      <span class="archive-post-time">
        01-09
      </span>
      <span class="archive-post-title">
        <a href="/post/blog/network/0011-handling-multiple-clients-on-server-with-select/" class="archive-post-link">
          TCP服务器如何使用select处理多客户连接
        </a>
      </span>
    </div>

    <div class="archive-post">
      <span class="archive-post-time">
        01-07
      </span>
      <span class="archive-post-title">
        <a href="/post/blog/network/0010-tcp-and-udp-server-using-select/" class="archive-post-link">
          使用select实现的UDP/TCP组合服务器
        </a>
      </span>
    </div>

    <div class="archive-post">
      <span class="archive-post-time">
        01-06
      </span>
      <span class="archive-post-title">
        <a href="/post/blog/network/0012-tcp-server-client-implementation-in-c/" class="archive-post-link">
          使用C语言实现服务器/客户端的TCP通信
        </a>
      </span>
    </div>

    <div class="archive-post">
      <span class="archive-post-time">
        01-05
      </span>
      <span class="archive-post-title">
        <a href="/post/blog/network/0013-udp-server-client-implementation-in-c/" class="archive-post-link">
          使用C语言实现服务器/客户端的UDP通信
        </a>
      </span>
    </div>
      <div class="collection-title">
        <h2 class="archive-year">2022</h2>
      </div>

    <div class="archive-post">
      <span class="archive-post-time">
        12-27
      </span>
      <span class="archive-post-title">
        <a href="/post/blog/network/0006-send-udp-with-raw-socket/" class="archive-post-link">
          如何使用raw socket发送UDP报文
        </a>
      </span>
    </div>

    <div class="archive-post">
      <span class="archive-post-time">
        12-14
      </span>
      <span class="archive-post-title">
        <a href="/post/blog/network/0004-checksum-of-ip-header/" class="archive-post-link">
          如何计算IP报头的checksum
        </a>
      </span>
    </div>

    <div class="archive-post">
      <span class="archive-post-time">
        12-12
      </span>
      <span class="archive-post-title">
        <a href="/post/blog/network/0003-checksum-of-udp-header/" class="archive-post-link">
          如何计算UDP头的checksum
        </a>
      </span>
    </div>

    <div class="archive-post">
      <span class="archive-post-time">
        12-10
      </span>
      <span class="archive-post-title">
        <a href="/post/blog/network/0005-send-udp-via-linux-cli/" class="archive-post-link">
          如何在Linux命令行下发送和接收UDP数据包
        </a>
      </span>
    </div>

    <div class="archive-post">
      <span class="archive-post-time">
        12-07
      </span>
      <span class="archive-post-title">
        <a href="/post/blog/network/0002-link-layer-programming/" class="archive-post-link">
          Linux下如何在数据链路层接收原始数据包
        </a>
      </span>
    </div>

    <div class="archive-post">
      <span class="archive-post-time">
        10-16
      </span>
      <span class="archive-post-title">
        <a href="/post/blog/network/0001-how-to-get-ipv6-in-c/" class="archive-post-link">
          C语言获取ipv6地址的三种方法
        </a>
      </span>
    </div>

    <div class="archive-post">
      <span class="archive-post-time">
        09-20
      </span>
      <span class="archive-post-title">
        <a href="/post/blog/c/0001-parameters-passing-mechanism/" class="archive-post-link">
          C语言函数调用时的参数传递机制
        </a>
      </span>
    </div>

    <div class="archive-post">
      <span class="archive-post-time">
        08-25
      </span>
      <span class="archive-post-title">
        <a href="/post/blog/linux/0012-setuid/" class="archive-post-link">
          Linux文件权限：setuid、setgid和sticky bit
        </a>
      </span>
    </div>

    <div class="archive-post">
      <span class="archive-post-time">
        08-18
      </span>
      <span class="archive-post-title">
        <a href="/post/blog/embedded/0001-wake-on-lan/" class="archive-post-link">
          远程开机：一个简单的嵌入式项目开发
        </a>
      </span>
    </div></section>

<nav class="pagination">
  
  <a class="next" href="/post/page/2/">
      <span class="next-text">下一页</span>
      <i class="iconfont icon-right"></i>
    </a>
</nav>
        </div>
        

      </div>
    </main>

    <footer id="footer" class="footer">
      <div class="social-links">
      <a href="mailto:hengch@163.com" class="iconfont icon-email" title="email"></a>
  <a href="https://whowin.gitee.io/index.xml" type="application/rss+xml" class="iconfont icon-rss" title="rss"></a>
</div>
<div class="copyright">
  <span class="power-by">
    由 <a class="hexo-link" href="https://gohugo.io">Hugo</a> 强力驱动
  </span>
  <span class="division">|</span>
  <span class="theme-info">
    主题 - 
    <a class="theme-link" href="https://github.com/olOwOlo/hugo-theme-even">Even</a>
  </span>

  <div class="busuanzi-footer">
    <span id="busuanzi_container_site_pv"> 本站总访问量 <span id="busuanzi_value_site_pv"><img src="/img/spinner.svg" alt="spinner.svg"/></span> 次 </span>
      <span class="division">|</span>
    <span id="busuanzi_container_site_uv"> 本站总访客数 <span id="busuanzi_value_site_uv"><img src="/img/spinner.svg" alt="spinner.svg"/></span> 人 </span>
  </div>

  <span class="copyright-year">
    &copy; 
    2022 - 
    2024<span class="heart"><i class="iconfont icon-heart"></i></span><span>whowin</span>
  </span>
</div>

    </footer>

    <div class="back-to-top" id="back-to-top">
      <i class="iconfont icon-up"></i>
    </div>
  </div>
  
  <script src="https://cdn.jsdelivr.net/npm/jquery@3.2.1/dist/jquery.min.js" integrity="sha256-hwg4gsxgFZhOsEEamdOYGBf13FyQuiTwlAQgxVSNgt4=" crossorigin="anonymous"></script>
  <script src="https://cdn.jsdelivr.net/npm/slideout@1.0.1/dist/slideout.min.js" integrity="sha256-t+zJ/g8/KXIJMjSVQdnibt4dlaDxc9zXr/9oNPeWqdg=" crossorigin="anonymous"></script>
  <script src="https://cdn.jsdelivr.net/npm/@fancyapps/fancybox@3.1.20/dist/jquery.fancybox.min.js" integrity="sha256-XVLffZaxoWfGUEbdzuLi7pwaUJv1cecsQJQqGLe7axY=" crossorigin="anonymous"></script>



<script type="text/javascript" src="/js/main.min.64437849d125a2d603b3e71d6de5225d641a32d17168a58106e0b61852079683.js"></script>








</body>
</html>
